In-memory database management system (IMDBMS) software products store data in local computer memory, such as in random access memory, for fast access. IMDBMS products may be employed in association with a disk-based database management system (DBMS) which may be employed to support long term persistence of some of the data. While some enterprises may develop their own database management systems, most buy these systems as commercial off-the-shelf, hereafter COTS, software packages and build their data applications on top of these COTS packages.
Data employed by applications may need to be stored in an IMDBMS only on the server supporting the application itself or may need to be shared among multiple servers. The data may have only a transient utility and may be deleted after an interval of time or after a period of non-use. Such transient data should be removed from the IMDBMS when its utility has expired. Other data may have only transient utility, but require long-term persistence for record keeping purposes. Such data should be stored in long term storage, such as disk-based DBMS, and then removed from IMDBMS when its utility has expired. Such different data requirements of applications may be articulated as rules or policies.
It is incumbent on each application to implement these data cache management rules and interact with the IMDBMS to delete transient data, for example, at the appropriate times and to interact with the disk-based DBMS to write-back data requiring long-term persistence. Implementing data management rules adds to the complexity of developing applications and may involve solving the same problem multiple times if different applications are developed by different designers or different teams of designers, perhaps located at different corporate development sites. Additionally, implementing data management rules in the application increases the processing load associated with the application. If the long term storage mechanism changes, the applications may need to be redeveloped to interact with a different long term storage mechanism.